#include <iostream>
//using声明语句
//要用什么就声明什么
using std::cout;
using std::endl;

int num = 1000;

//命名空间实际是把全局作用域划分成了更小的作用域
namespace wd
{
int num = 10;

void func(){
    cout << "wd::func()" << endl;
}
}//end of namespace wd

namespace hw
{
int num = 20;

void func(){
    cout << "hw::func()" << endl;
}
}//end of namespace hw

void test0(){
    //using声明语句
    using wd::num;
    using wd::func;//直接写函数名，不加括号

    //即使全局作用域存在同名的实体
    //此处也可以形成屏蔽效果
    //访问到时wd::num
    cout << "wd::num:" << num << endl;
    func();
}

void test1(){
    using hw::num;
    cout << "hw::num:" << num << endl;
}

int main(void){
    test0();
    test1();
    return 0;
}
